home *** CD-ROM | disk | FTP | other *** search
- 10 GOSUB 530:GOTO 280
- 20 H=0:K=0:FOR A=7 TO 35:GOSUB 60:NEXT
- 30 GOSUB 170:IF H<1 THEN 250
- 40 H=0:K=0:A=T:GOSUB 60:IF H<1 THEN 250
- 50 GOTO 30
- 60 IF B(A)=0 OR B(A)=-S OR B(A)=2 THEN RETURN
- 70 FOR B=0 TO D(A-7):C=A+M(B):IF B(C)=S OR B(C)=2 THEN 160
- 80 IF B(C) THEN 120
- 90 SC=RND(1)*.9:IF H<SC THEN H=SC:F=A:T=C
- 100 IF CK=1 AND T1=C THEN L=1:B=7
- 110 GOTO 160
- 120 IF B(C+M(B)) THEN 160
- 130 SC=1+RND(1)*.9:IF H<SC THEN H=SC:F=A:T=C+M(B):K=C
- 140 IF CK=0 THEN 160
- 150 IF T1=C+M(B) THEN L=1:K1=C:B=7
- 160 NEXT:RETURN
- 170 B(T)=B(F):B(F)=0:A=F:GOSUB 760
- 180 IF K THEN B(K)=0:A=K:GOSUB 760
- 190 A=T:GOTO 760
- 200 GOSUB 520:IF S=1 THEN PRINT"The witches win!":GOTO 220
- 210 PRINT"The ghosts win!"
- 220 LOCATE 23,10:PRINT"Hit a key to play again"
- 230 K$=INKEY$:IF K$="" THEN 230
- 240 RUN
- 250 S=-S:H=0:A=7
- 260 IF A=36 THEN 200
- 270 GOSUB 60:IF H=0 THEN A=A+1:GOTO 260
- 280 D=0:GOSUB 520:IF S=1 THEN PRINT"Ghost's turn":GOTO 300
- 290 PRINT"Witch's turn"
- 300 PRINT TAB(16)"From:";
- 310 E=E+1:K$=INKEY$:IF K$="" THEN 310
- 320 IF ASC(K$)=13 THEN GOSUB 520:RANDOMIZE E:GOTO 20
- 330 IF ASC(K$)<97 OR ASC(K$)>121 THEN 310
- 340 PRINT K$:A=N(ASC(K$)-97):Z=A
- 350 LOCATE 23,18:PRINT"To:";
- 360 K$=INKEY$:IF K$="" THEN 360
- 370 IF ASC(K$)<97 OR ASC(K$)>121 THEN 360
- 380 PRINT K$:T1=N(ASC(K$)-97)
- 390 CK=1:L=0:K1=0:GOSUB 60:CK=0
- 400 H=0:A=7
- 410 IF A=36 THEN 440
- 420 GOSUB 60:IF H>=1 THEN 440
- 430 A=A+1:IF A<36 THEN 420
- 440 IF D THEN 470
- 450 IF L THEN 480
- 460 SOUND 99,5:GOTO 280
- 470 IF L=0 OR K1=0 THEN SOUND 99,5:GOTO 510
- 480 IF K1=0 AND H>=1 THEN 460
- 490 F=Z:T=T1:K=K1:GOSUB 170:IF K1=0 THEN 250
- 500 A=T:Z=A:H=0:GOSUB 60:IF H<1 THEN 250
- 510 GOSUB 520:D=1:GOTO 350
- 520 LOCATE 20,1:FOR B=1 TO 3:PRINT:PRINT" ";:NEXT:LOCATE 21,14:RETURN
- 530 KEY OFF:SCREEN 1:COLOR 0,1:CLS:DEFINT C,W
- 540 DIM C1(98),W1(98),SQ(98),B(42),D(28),X(35),Y(35),L(35),XL(35),YL(35),N(28)
- 550 LINE (50,80)-(81,103),1,B
- 560 LOCATE 12,12: PRINT "The Witching Hour
- 570 LINE (230,80)-(261,103),1,B
- 580 GET (50,80)-(81,103),SQ
- 590 FOR A=0 TO 52:READ C1(A):NEXT
- 600 PUT (56,82),C1
- 610 GET (50,80)-(81,103),C1
- 620 FOR A=0 TO 69:READ W1(A):NEXT
- 630 PUT (232,82),W1
- 640 GET (230,80)-(261,103),W1
- 650 S=-1:FOR A=0 TO 7:READ M(A):NEXT
- 660 FOR A=0 TO 28:READ D(A):NEXT
- 670 B=48:C=32:D=59:E=12
- 680 FOR A=0 TO 4:FOR F=0 TO 4:H=6*A+F+7:X(H)=B*F+D-15:Y(H)=C*A+E-11
- 690 L(H)=G+97:N(G)=H:G=G+1:XL(H)=6*F+10:YL(H)=4*A+1:NEXT:NEXT
- 700 CLS:FOR A=0 TO 4:LINE (D,C*A+E)-(B*4+D,C*A+E),2:NEXT
- 710 FOR A=0 TO 4:LINE (B*A+D,E)-(B*A+D,C*4+E),2:NEXT
- 720 A=0:F=0:GOSUB 740:A=B+B:GOSUB 740:F=C+C:GOSUB 740:A=0:GOSUB 740
- 730 FOR A=0 TO 42:READ B(A):GOSUB 760:NEXT:RETURN
- 740 LINE (D+A,E+F)-(2*B+D+A,2*C+E+F),2
- 750 LINE (D+A,2*C+E+F)-(2*B+D+A,E+F),2:RETURN
- 760 IF B(A)=2 THEN RETURN
- 770 IF B(A)<0 THEN PUT (X(A),Y(A)),W1,PSET
- 780 IF B(A)=0 THEN PUT (X(A),Y(A)),SQ,PSET
- 790 IF B(A)>0 THEN PUT (X(A),Y(A)),C1,PSET
- 800 LOCATE YL(A),XL(A):PRINT CHR$(L(A)):RETURN
- 810 DATA 36,20,-256,192,0,-961,0,16128,255,0,-1,192,-3328,-16177,0,-1,192
- 820 DATA 16128,255,0,-1009,-16381,1020,16368,-16,-1,-3841,-1,-769,-16336,-193
- 830 DATA 192,16128,-3841,0,-241,252,768,-769,0,16128,252,0,-4033,0,16128,192,0
- 840 DATA -4081,0,0,255,0
- 850 DATA 52,20,48,0,3,15360,240,768,0,-241,252,-16381,768,-1,960,192,-256
- 860 DATA -769,-4081,0,-241,16383,255,3840,4095,12543,0,-1009,-1,192,768,-61
- 870 DATA 207,0,3840,-16129,0,0,-12289,192,0,-253,-16369,0,768,-15361,240
- 880 DATA -32768,-253,15600,0,168,-193,-16369,-22016,-81,-21761,-24406,16296
- 890 DATA -1,0,-32768,-241,252,0,3840,-3841,0,0,-16372
- 900 DATA -6,1,6,-1,-5,7,5,-7
- 910 DATA 7,3,7,3,7,0,3,7,3,7,3,0
- 920 DATA 7,3,7,3,7,0,3,7,3,7,3,0,7,3,7,3,7
- 930 DATA 2,2,2,2,2,2,2,-1,-1,-1,-1,-1,2
- 940 DATA -1,-1,-1,-1,-1,2,-1,-1,0,1,1,2
- 950 DATA 1,1,1,1,1,2,1,1,1,1,1,2,2,2,2,2,2,2
-